Dynamically adjusting operating frequency of a arithemetic processing device for predetermined applications based on power consumption of the memory in real time

ABSTRACT

An information processing apparatus  1  includes a memory  13  that stores information used for arithmetic processing. The information processing apparatus  1  includes a CPU  11  that operates arithmetic processing by using the information stored in the memory  13 . The information processing apparatus  1  includes a measuring unit  15  that measures power consumption of the memory  13 . The information processing apparatus  1  includes a CPU frequency controlling unit setting unit  31  that sets an operating frequency of the CPU  11  according to the power consumption measured by the measuring unit  15.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of theprior Japanese Patent Application No. 2011-158478, filed on Jul. 19,2011, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are directed to an informationprocessing apparatus, a control program, and a control method.

BACKGROUND

Conventionally, a DVFS (Dynamic Voltage and Frequency Scaling) techniquedynamically changing an operating frequency of a CPU (Central ProcessingUnit) is known. An information processing apparatus, to which such atechnique is applied, can reduce power consumption of the CPU bylowering an operating frequency of the CPU and a voltage applied to theCPU.

As an example of such an information processing apparatus, there is aknown information processing apparatus to which an Ondemand Governortechnique changing an operating frequency of a CPU according to CPUutilization per unit time is applied. In the case where the CPUutilization per unit time is lower than a predetermined threshold value,such an information processing apparatus can reduce power consumption ofthe CPU by setting the operating frequency of the CPU to a frequencylower than a predetermined frequency.

Herein, in the case of lowering the operating frequency when the CPUutilization is higher than the predetermined threshold value, the powerconsumption is reduced but an application execution time is prolongeddue to performance degradation. Hence, power consumption for executingapplication will increase. Therefore, in the case where the CPUutilization per unit time is higher than the predetermined thresholdvalue, the information processing apparatus prevents performancedegradation by setting the frequency of the CPU to a frequency higherthan the predetermined frequency.

However, since the operating frequency is set to a high frequency whenthe CPU utilization is higher than the predetermined threshold value,the above-described technique changing the operating frequency of theCPU according to the CPU utilization per unit time has a problem thatdoes not reduce power consumption of the CPU.

SUMMARY

According to an aspect of an embodiment of the invention, an informationprocessing apparatus includes a memory that stores information used forarithmetic processing. The information processing apparatus includes anarithmetic processing unit that operates arithmetic processing by usingthe information stored in the memory. The information processingapparatus includes a measuring unit that measures power consumption ofthe memory. The information processing apparatus includes a setting unitthat sets an operating frequency of the arithmetic processing unitaccording to the power consumption measured by the measuring unit.

The object and advantages of the embodiment will be realized andattained by means of the elements and combinations particularly pointedout in the claims.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory and arenot restrictive of the embodiment, as claimed.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating an example of an information processingapparatus according to a first embodiment;

FIG. 2 is a diagram illustrating a relation between afrequency-dependent rate and an execution time;

FIG. 3 is a diagram illustrating an example of a relation between a CPUfrequency-dependent rate and power consumption of a memory;

FIG. 4 is a diagram illustrating an example of an operating frequencytable;

FIG. 5 is a diagram illustrating power consumption of a CPU when anapplication is executed at each operating frequency;

FIG. 6 is a diagram illustrating a relation between an application andan operating frequency at which power consumption is minimized;

FIG. 7 is a diagram illustrating an example of a relation between powerconsumption of a memory and a set operating frequency of a CPU;

FIG. 8 is a flowchart illustrating an example of processing performed bythe information processing apparatus according to the first embodiment;and

FIG. 9 is a diagram illustrating an example of an information processingapparatus according to a second embodiment.

DESCRIPTION OF EMBODIMENTS

An information processing apparatus, a control program, and a controlmethod according to the present application will be described below withreference to the accompanying drawings.

[a] First Embodiment

In a following first embodiment, an example of an information processingapparatus will be described with reference to FIG. 1. FIG. 1 is adiagram illustrating an example of an information processing apparatusaccording to the first embodiment.

As illustrated in FIG. 1, an information processing apparatus 1 includesa hardware 10 and executes a BIOS (Basic Input/Output System) 20 and anOS (Operating System) 30. The hardware 10 includes a CPU (CentralProcessing Unit) 11, a power supply 12, a memory 13, a resistor 14, anda power measuring unit 15.

Also, the OS 30 includes a CPU frequency controlling unit 31 and anoperating frequency setting file 35. Furthermore, the CPU frequencycontrolling unit 31 includes an operating frequency table 32, adetermining unit 33, and a setting unit 34. Moreover, the BIOS 20 is atype of firmware and is a program that executes the lowest-levelinput/output to/from the hardware among programs installed on thecomputer. A description thereof will not be repeated below.

First, the CPU 11, the power supply 12, the memory 13, the resistor 14,the power measuring unit 15, which are included in the hardware 10, willbe described. The CPU 11 includes a cache and performs arithmeticprocessing by using information stored in the cache or informationstored in the memory 13.

Specifically, the CPU 11 receives power from the power supply 12 andperforms arithmetic processing related to application execution. Also,in the case where information used for the arithmetic processing isstored in the cache of the CPU 11, the CPU 11 performs the arithmeticprocessing by using the information stored in the cache. Also, in thecase where the information used for the arithmetic processing is notstored in the cache of the CPU 11, the CPU 11 accesses the memory 13 andacquires the information used for the arithmetic processing from thememory 13. The CPU 11 stores the acquired information in its own thecache and also performs the arithmetic processing related to theapplication execution by using the acquired information.

Also, the CPU 11 is an arithmetic processing unit configured to beoperable at a plurality of operating frequencies. That is, a DVFS(Dynamic Voltage and Frequency Scaling) technique is embedded in the CPU11. Whenever a predetermined period of time has elapsed, the CPU 11refers to the operating frequency setting file 35 included in the OS 30,and changes the operating frequency of the CPU 11 according toinformation indicated by the referred operating frequency setting file35.

For example, the CPU 11 can perform the arithmetic processing at any oneoperating frequency among 2,926,000 kHz, 2,660,000 kHz, 2,394,000 kHz,2,128,000 kHz, 1,862,000 kHz, and 1,596,000 kHz as the operatingfrequency of the CPU 11. In the case where the CPU 11 refers to theoperating frequency setting file 35 and the referred operating frequencysetting file 35 indicates 2,626,000 kHz, the CPU 11 sets the operatingfrequency thereof to 2,626,000 kHz and performs the arithmeticprocessing at the set operating frequency. Also, for example, in thecase where the operating frequency setting file 35 indicates 1,596,000kHz, the CPU 11 sets the operating frequency thereof to 1,596,000 kHzand performs the arithmetic processing at the set operating frequency.

The power supply 12 is a power supplying unit configured to supply powerto each component included in the hardware 10. For example, uponreceiving a voltage applied from the outside of the informationprocessing apparatus 1, the power supply 12 performs supply of power bytransforming the voltage into a voltage appropriate for the CPU 11 orthe memory 13 and applying the transformed voltage to the CPU 11 or thememory 13.

The memory 13 is a storage device configured to store information usedby the CPU 11 for performing the arithmetic processing. Also, the memory13 consumes power supplied from the power supply 12 whenever reading orwriting information.

The resistor 14 is a minute resistor installed to measure power suppliedto the memory 13. The power measuring unit 15 obtains power consumed bythe memory 13 by using a current calculated from a potential differenceoccurring between both ends of the resistor 14 and a resistance value,and a voltage between the memory 13 and the resistor 14. Then, the powermeasuring unit 15 transmits the measured voltage value to thedetermining unit 33 included in the CPU frequency controlling unit 31.

Such the hardware 10 executes the application while the CPU 11 uses theinformation stored in the memory 13. Therefore, the CPU 11 and thememory 13 consume power according to the application execution. Herein,the power consumed by the CPU 11 is expressed as the product of theoperating frequency and the square of the voltage. The electric energyconsumed when the CPU 11 executes the application is expressed as theproduct of the power consumed by the CPU 11 and time of executing theapplication.

Meanwhile, as the application the CPU 11 executes, there exist anapplication in which time of executing the application is changed, andan application in which time of executing the application does not muchchange, in the case where the operating frequency of the CPU 11 ischanged. That is, as the application the CPU 11 executes, there exist anapplication whose performance is dependent on the operating frequency ofthe CPU 11, and an application whose performance is not much dependenton the operating frequency of the CPU 11.

FIG. 2 is a diagram illustrating a relation between afrequency-dependent rate and an execution time. Also, thefrequency-dependent rate is a ratio of an increasing rate of anapplication execution time to an increasing rate of a clock period whenthe application is executed at two different operating frequencies.

The example illustrated in FIG. 2 plots an application execution timehaving different frequency-dependent rates are executed at differentclock periods, where the clock period (ns: Nano Second) is representedalong a transverse axis and the execution time is represented along alongitudinal axis. Also, the example illustrated in FIG. 2 plots theratio of application execution time for each application in the casewhere the application execution time when the clock period is 1 ns (theoperating frequency is 1 GHz) is assumed to be 1. Also, in the exampleillustrated in FIG. 2, a line representing a relation between a clockperiod and an execution time with respect to an application having a 100percent frequency-dependent rate is indicated by a straight line, and aline representing a relation between a clock period and an executiontime with respect to an application having a 50 percentfrequency-dependent rate is indicated by a dashed line. Also, in theexample illustrated in FIG. 2, a line representing a relation between aclock period and an execution time with respect to an application havinga 0 percent frequency-dependent rate is indicated by a broken line.

As illustrated in FIG. 2, in the case of the application having the 100percent frequency-dependent rate, if the clock period is increased by,for example, two times (that is, the frequency is 500 MHz), theexecution time is increased by two times. On the other hand, in the caseof the application having the 0 percent frequency-dependent rate, evenif the clock period is increased by two times, the execution time is notincreased. Also, in the case of the application having the 50 percentfrequency-dependent rate, if the clock period is increased by two times,the execution time is increased by 1.5 times.

That is, in the case of lowering the operating frequency when executingthe application whose performance is dependent on the operatingfrequency, the CPU 11 prolongs the application execution time.Therefore, in the case of lowering the operating frequency whenexecuting the application whose performance is dependent on theoperating frequency, the CPU 11 will increase the consumption ofelectric energy. Therefore, in the case of executing the applicationwhose performance is dependent on the operating frequency, the CPU 11does not lower the operating frequency.

Also, even if the CPU 11 lowers the operating frequency when executingthe application whose performance is not much dependent on the operatingfrequency, the application execution time does not much change. As aresult, in the case where the CPU 11 executes the application whoseperformance is not much dependent on the operating frequency, the CPU 11can reduce power consumption by lowering the operating frequency.

Next, in the case where the operating frequency of the CPU 11 ischanged, the application whose performance is not much dependent on theoperating frequency and the application whose performance is dependenton the operating frequency will be described. For example, theapplication whose performance is not much dependent on the operatingfrequency corresponds to an application that accesses the memory 13 manytimes during execution.

That is, the operating frequency of the memory 13 is set to a valueindependent of the operating frequency of the CPU 11. Also, theoperating frequency of the memory 13 is generally set to a value lowerthan the operating frequency of the CPU 11. Therefore, the performanceof the application that accesses the memory 13 many times is determinedby the performance of the memory 13. Therefore, even if the operatingfrequency of the CPU 11 is lowered when the application that accessesthe memory 13 many times is executed, the performance is not degraded somuch. Thus, it can be said that the performance of the application isnot much dependent on the operating frequency.

On the other hand, the application whose performance is dependent on theoperating frequency corresponds to an application that less accesses thememory 13 during execution. That is, since the application that lessaccesses the memory 13 is high in a hit rate of the cache included inthe CPU 11, the performance of the application is exhibited depending onthe operating frequency. Therefore, it can be said that the applicationthat less accesses the memory 13 is an application whose performance isdependent on the operating frequency of the CPU 11.

Herein, the memory 13 consumes power according to the number of times ofaccess. That is, in the case where the number of times of access islarger than usual, the memory 13 consumes more power than usual. In thecase where the number of times of access is smaller than usual, thememory 13 consumes less power than usual.

Therefore, in the case where power consumption of the memory 13 islarger than usual, the CPU 11 determines that the application whoseperformance is not significantly degraded even though the operatingfrequency is reduced, that is, the application whose performance is notdependent on the operating frequency is executed. In such a case, theCPU 11 reduces the power consumption by lowering the operatingfrequency, without significantly degrading the performance of theapplication.

On the other hand, in the case where the power consumption of the memory13 is smaller than usual, the CPU 11 determines that the applicationwhose performance is reduced when the operating frequency is lowered,that is, the application whose performance is dependent on the operatingfrequency is executed. In such a case, since the CPU 11 does not lowerthe operating frequency, the CPU 11 can execute the application withoutdegrading performance.

Herein, an example of a relation between the power consumption of thememory 13 during the application execution and the CPUfrequency-dependent rate of the application will be described. FIG. 3 isa diagram illustrating an example of a relation between a CPUfrequency-dependent rate of each application and power consumption. FIG.3 illustrates an application name executed by the CPU 11, a CPUfrequency-dependent rate of each application, and an average values(Watt) of the power consumed by the memory 13 when the CPU 11 executeseach application.

Also, the example illustrated in FIG. 3 was measured by applying XeonX5570 to the CPU 11 and applying a 1333-M (Mega) Hz DDR3(Double-Data-Rate3 Synchronous Dynamic Random Access Memory) having acapacity of 12 GB (Giga Bytes) to the memory 13. Moreover, CentOS5.5 wasapplied to the OS 30.

Specifically, the example illustrated in FIG. 3 illustrates that the CPUfrequency-dependent rate of the application name “444.namd” is“99.8(%)”, and the average power consumption of the memory is “17.4(W)”. Also, it is illustrated that the CPU frequency-dependent rate ofthe application name “471.omnetpp” is “33.0(%)”, and the average powerconsumption of the memory is “26.0 (W)”. Also, it is illustrated thatthe CPU frequency-dependent rate of the application name “429.mcf” is“31.3(%)”, and the average power consumption of the memory is “28.8(W)”.

Also, it is illustrated that the CPU frequency-dependent rate of theapplication name “450.soplex” is “27.5(%)”, and the average powerconsumption of the memory is “30.4 (W)”. Also, it is illustrated thatthe CPU frequency-dependent rate of the application name “433.milc” is“14.9(%)”, and the average power consumption of the memory is “33.8(W)”. Also, it is illustrated that the CPU frequency-dependent rate ofthe application name “437.leslie3d” is “15.3(%)”, and the average powerconsumption of the memory is “34.6 (W)”. Also, it is illustrated thatthe CPU frequency-dependent rate of the application name “459.GemsFDTD”is “4.8(%)”, and the average power consumption of the memory is “35.4(W)”.

Herein, the CPU frequency-dependent rate of each application and thepower consumption of the memory, which are illustrated in FIG. 3, have anegative correlation, and its value is about “−0.96”. Therefore, theinformation processing apparatus 1 can control the operating frequencyaccording to the CPU frequency-dependent rate of the application bycontrolling the operating frequency of the CPU 11 according to the powerconsumption of the memory 13, even without pre-analyzing the CPUfrequency-dependent rate of the application. As a result, theinformation processing apparatus 1 can easily reduce the powerconsumption of the CPU 11.

Next, the operating frequency table 32, the determining unit 33, and thesetting unit 34, which are included in the CPU frequency controllingunit 31, will be described. The operating frequency table 32 storesinformation indicating the power consumption of the memory 13 andinformation indicating the operating frequency of the CPU 11 incorrespondence to each other. Specifically, the operating frequencytable 32 stores information indicating the power consumption ranges ofthe memory 13 and information indicating the operating frequencies ofthe CPU 11 in correspondence to each other.

For example, FIG. 4 is a diagram illustrating an example of theoperating frequency table. In the example illustrated in FIG. 4, theoperating frequency table 32 stores the power consumptions of the memoryand the operating frequencies in correspondence to each other.Specifically, the operating frequency table 32 stores informationindicating “less than 17.4 (Watt)” and information indicating “2,926,000(kHz)” in correspondence to each other. Also, the operating frequencytable 32 stores information indicating “equal to or greater than 17.4(Watt) and less than 26.0 (Watt)” and information indicating “2,660,000(kHz)” in correspondence to each other. Also, the operating frequencytable 32 stores information indicating “26.0 (Watt) or more” andinformation indicating “1,596,000 (kHz)” in correspondence to eachother.

Returning back to FIG. 1, the operating frequency setting file 35 is afile configured to store information indicating the operating frequencyof the CPU 11. For example, the operating frequency setting file 35stores information indicating that the operating frequency of the CPU 11is set to “2,926,000 (kHz)”.

The determining unit 33 sets the operating frequency of the CPU 11according to the power consumption of the memory 13, which is measuredby the power measuring unit 15. Specifically, in the case where thepower consumption of the memory, which is measured by the powermeasuring unit 15, is higher than a predetermined threshold value, thedetermining unit 33 informs the setting unit 34 of the operatingfrequency lower than a predetermined operating frequency. Also, in thecase where the power consumption of the memory 13, which is measured bythe power measuring unit 15, is lower than the predetermined thresholdvalue, the determining unit 33 informs the setting unit 34 of theoperating frequency higher than the predetermined operating frequency.

Next, an example of the processing performed by the determining unit 33will be described. For example, the determining unit 33 receives powerconsumption values from the power measuring unit 15 at time intervalsshorter than 1 second. Then, the determining unit 33 calculates anaverage value of the power consumption values received for the past 1second. In addition, the determining unit 33 refers to the operatingfrequency table 32 and determines which power consumption range thecalculated average value falls within among the power consumption rangesstored in the operating frequency table 32.

Then, the determining unit 33 determines information indicating therange covering the calculated average value and information indicatingthe corresponding operating frequency, among the information indicatingthe power consumption ranges stored in the operating frequency table 32.Thereafter, the determining unit 33 sends the information indicating thedetermined operating frequency to the setting unit 34.

The setting unit 34 sets the operating frequency of the CPU 11 to theoperating frequency that is indicated by the information determined bythe determining unit 33. Specifically, the setting unit 34 receives theinformation indicating the operating frequency from the determining unit33. Then, the setting unit 34 updates the information stored in theoperating frequency setting file 35 with the received informationindicating the operating frequency.

By performing such processing, the CPU frequency controlling unit 31 canreduce power consumed by the CPU 11. That is, the CPU frequencycontrolling unit 31 determines whether the running application is anapplication dependent on the operation frequency, based on the powerconsumption of the memory 13.

Then, in the case where the CPU frequency controlling unit 31 determinesthat the running application is not the application dependent on theoperating frequency, the CPU frequency controlling unit 31 reduces thepower consumption of the CPU 11 by lowering the operating frequency ofthe CPU 11. On the other hand, in the case where the CPU frequencycontrolling unit 31 determines that the running application is theapplication dependent on the operating frequency, the CPU frequencycontrolling unit 31 prevents the performance degradation of theapplication by setting the operating frequency of the CPU 11 to a normalvalue or a value greater than the normal value, instead of lowering theoperating frequency of the CPU 11.

Next, the processing of determining a set of the power consumption ofthe memory and the operating frequency of the CPU 11, which are storedin the operating frequency table 32, will be described. FIG. 5 is adiagram illustrating the power consumption of the CPU when theapplication is executed at each operating frequency. Also, in FIG. 5,the operating frequency of the CPU 11 when the application was executedis represented along a transverse axis, and the power consumption of theCPU 11 for executing the application when the operating frequency of theCPU 11 was set to each operating frequency is represented along alongitudinal axis.

Also, the example illustrated in FIG. 5 illustrates the ratio of thepower consumption of the CPU 11 for executing the each application, whenthe power consumption was assumed to be “1” in the case where theoperating frequency of the CPU 11 was “2,926,000 (kHz)”.

Specifically, the example illustrated in FIG. 5 illustrates the ratio ofthe power consumption of the CPU 11 when each application was executedat the operating frequency of the CPU 11 set to “2,926,000 (kHz)”,“2,660,000 (kHz)”, and “2,394,000 (kHz)”. Also, the example illustratedin FIG. 5 illustrates the ratio of the power consumption of the CPU 11for executing the application at the operating frequency of the CPU 11set to “2,128,000 (kHz)”, “1,862,000 (kHz)”, and “1,596,000 (kHz)”.

Also, the example illustrated in FIG. 5 illustrates the ratio of thepower consumption of the CPU 11 when “444.namd”, “471.omnetpp”, and“429.mcf” were executed. Also, the example illustrated in FIG. 5illustrates ratio of the power consumption of the CPU 11 when“450.soplex”, “437.leslie3d”, “433.milc”, and “459.GemsFDTD” wereexecuted.

As illustrated in FIG. 5, in the case of “444.namd”, the powerconsumption is not significantly reduced when the operating frequency ofthe CPU 11 is lowered. On the other hand, in the case of anotherapplications “471.omnetpp”, “429.mcf”, and “450.soplex”, the powerconsumption is reduced when the operating frequency of the CPU 11 islowered. Moreover, in the case of “437.leslie3d”, “433.milc”, and“459.GemsFDTD”, the power consumption is reduced when the operatingfrequency of the CPU 11 is lowered.

FIG. 6 is a diagram illustrating a relation between the application andthe operating frequency at which the power consumption is minimized. Theexample illustrated in FIG. 6 illustrates each application name, theaverage power consumption of the memory 13 when each application wasexecuted, and the operating frequency at which the power consumption ofthe CPU 11 was minimized. Herein, for each application name, theoperating frequency, illustrated in FIG. 6, at which the powerconsumption is minimized, is identical to the operating frequency,illustrated in FIG. 5, at which the ratio of the power consumption ofthe CPU 11 is minimized. Also, the average power consumption of thememory 13 illustrated in FIG. 6 is identical to the average powerconsumption of the memory 13 illustrated in FIG. 3.

As illustrated in FIG. 6, in the case where the application “444.namd”is executed, the power consumption of the CPU 11 is minimized when theoperating frequency of the CPU 11 is “2,660,000 (kHz)”. Also, in thecase where another application is executed, the power consumption of theCPU 11 is minimized when the operating frequency of the CPU 11 is“1,596,000 (kHz)”. Therefore, the information processing apparatus 1 hasto set the operating frequency of the CPU 11 to “1,596,000 (kHz)” whenthe average power consumption of the memory 13 is “26.0 (W)” or more.

Meanwhile, in the example illustrated in FIG. 6, when the application“444.namd” is executed, the average power consumption of the memory 13is “17.4 (W)”, and the operating frequency at which the powerconsumption of the CPU 11 is minimized is “2,660,000 (kHz)”. Therefore,the information processing apparatus 1 has to set the operatingfrequency of the CPU 11 to “2,660,000 (kHz)” when the average powerconsumption of the memory 13 is “17.4 (W)”.

However, in the example illustrated in FIG. 6, when the average powerconsumption of the memory 13 is “17.4 (W) to 26.0 (W)”, the operatingfrequency at which the power consumption of the CPU 11 is minimized isunobvious. That is, it is unobvious at which operating frequency thepower consumption of the CPU 11 is minimized among “2,660,000 (kHz)” to“1,596,000 (kHz)”. Also, in the example illustrated in FIG. 6, when theaverage power consumption of the memory 13 is “17.4 (W)” or less, it isunobvious whether the operating frequency of the CPU 11 has to be set to“2,926,000 (kHz)” or “2,660,000 (kHz)”.

However, in the case where the operating frequency of the CPU 11 is setto a low value when the application having a high frequency-dependentrate is executed, the execution time is prolonged due to the performancedegradation of the application, and the power consumption of the CPU 11is increased. Therefore, in the case where the operating frequencyhaving to be set to the CPU 11 is unobvious, the operating frequency hasto be set to a value as high as possible.

Therefore, the information processing apparatus 1 includes the operatingfrequency table 32 indicating that the operating frequency is set to“2,660,000 (kHz)” when the average power consumption of the memory 13 is“equal to or greater than 17.4 (W) and less than 26.0 (W)”. Also, theinformation processing apparatus 1 sets the operating frequency to“2,926,000 (kHz)” when the average power consumption of the memory 13 isless than “17.4 (W)”.

FIG. 7 is a diagram illustrating an example of a relation between thepower consumption of the memory and the set operating frequency of theCPU. The example illustrated in FIG. 7 plots the power consumption ofthe memory 13 during the execution of each application illustrated inFIG. 6 and the operating frequency at which the power consumption of theCPU 11 is minimized, where the power consumption of the memory isrepresented along a transverse axis and the operating frequency of theCPU is represented along a longitudinal axis.

As illustrated in FIG. 7, it is obvious that when the power consumptionof the memory 13 is “26.0 (W)” or more, the information processingapparatus 1 has to set the operating frequency of the CPU 11 to“1,596,000 (kHz)”. Herein, when the average power consumption of thememory 13 is “17.4 (W) to 26.0 (W)”, the operating frequency at whichthe power consumption of the CPU 11 is minimized is unobvious.

However, the information processing apparatus 1 has to set the operatingfrequency of the CPU 11 to a value as high as possible. Therefore, theinformation processing apparatus 1 includes the operating frequencytable 32 indicating that the operating frequency is set to “2,660,000(kHz)” when the average power consumption of the memory 13 is “equal toor greater than 17.4 (W) and less than 26.0 (W)”. Also, the informationprocessing apparatus 1 includes the operating frequency table 32indicating that the operating frequency is set to “2,926,000 (kHz)” whenthe average power consumption of the memory 13 is less than “17.4 (W)”.

As described above, the information processing apparatus 1 includes theoperating frequency table 32 regarding the power consumption of thememory 13 that is measured at a predetermined operating frequency, andthe operating frequency at which the power consumption of the CPU 11during execution is minimized, with respect to a plurality ofapplications. Therefore, the information processing apparatus 1 canreduce the electric energy consumed by the CPU 11.

Flow of Processing of Information Processing Apparatus

Next, an example of a flow of processing to be performed by theinformation processing apparatus 1 will be described with reference toFIG. 8. FIG. 8 is a flowchart illustrating an example of processing tobe performed by the information processing apparatus according to thefirst embodiment. Also, the information processing apparatus 1 performsthe processing illustrated in FIG. 8 at intervals of 1 second.

First, the information processing apparatus 1 calculates an averagevalue of power consumed by the memory 13 for the past 1 second in stepS101. Then, the information processing apparatus 1 refers to theoperating frequency table 32 in step S102 and performs the subsequentsteps S103 to S107.

That is, the information processing apparatus 1 determines whether theaverage value of the power consumed by the memory 13 is less than 17.4(W) in step S103. When it is determined that the average value of thepower consumed by the memory 13 is less than 17.4 (W) (YES in stepS103), the information processing apparatus 1 sets the operatingfrequency of the CPU 11 to “2926000 (kHz)” in step S104 and ends theprocessing.

Meanwhile, when it is determined that the average value of the powerconsumed by the memory 13 is equal to or greater than 17.4 (W) (NO instep S103), the information processing apparatus 1 determines whetherthe average value of the power consumed by the memory 13 is less than26.0 (W) in step S105. When it is determined that the average value ofthe power consumed by the memory 13 is less than 26.0 (W) (YES in stepS105), the information processing apparatus 1 sets the operatingfrequency of the CPU 11 to “2660000 (kHz)” in step S106 and ends theprocessing.

Also, when it is determined that the average value of the power consumedby the memory 13 is equal to or greater than 26.0 (W) (NO in step S105),the information processing apparatus 1 sets the operating frequency ofthe CPU to “1596000 (kHz)” in step S107 and ends the processing.

Effects of First Embodiment

As described above, the information processing apparatus 1 includes theCPU 11, which can set the operating frequency, and the memory 13, andmeasures the power consumption of the memory 13. Then, the informationprocessing apparatus 1 sets the operating frequency of the CPU 11according to the measured power. Therefore, the information processingapparatus 1 can reduce the electric energy consumed by the CPU 11 evenwhen the utilization of the CPU 11 is high.

Also, in the case where the power consumption of the memory 13 is largerthan a predetermined threshold value, the information processingapparatus 1 sets the operating frequency of the CPU 11 to a value lowerthan a predetermined frequency. In the case where the power consumptionof the memory 13 is smaller than the predetermined threshold value, theinformation processing apparatus 1 sets the operating frequency of theCPU 11 to a value high than the predetermined frequency. Therefore, evenwhen the utilization of the CPU 11 is high due to the application, theinformation processing apparatus 1 can reduce the power consumption ofthe CPU 11, without significantly degrading the performance of theapplication.

Also, the information processing apparatus 1 includes the operatingfrequency table 32 configured to store information regarding a pluralityof information indicating power consumption ranges and a plurality ofinformation indicating operating frequencies in correspondence to eachother. The information processing apparatus 1 sets the operatingfrequency stored in the operating frequency table 32, as the operatingfrequency of the CPU 11, according to the information indicating therange covering the measured power consumption of the memory 13.Therefore, the information processing apparatus 1 can quickly set theoperating frequency to the CPU 11.

Also, the information processing apparatus 1 includes the operatingfrequency table 32 configured to store the operating frequency at whichthe power consumption of the CPU 11 is minimized when the application isexecuted, and the power consumption of the memory 13 when theapplication is executed at a predetermined operating frequency incorrespondence to each other. Therefore, the information processingapparatus 1 can set a pre-analyzed optimal operating frequency to theCPU 11.

Also, the information processing apparatus 1 calculates the averagevalue of the power consumed by the memory 13 from the setting of theoperating frequency of the CPU 11 to the elapse of a predetermined time,and newly sets the operating frequency of the CPU 11 according to thecalculated average value of the power. Therefore, even if theapplication executed by the CPU 11 frequently changes, the informationprocessing apparatus 1 can set the operating frequency that canefficiently reduce the electric energy consumed by the CPU 11.

Also, the information processing apparatus 1 includes the CPU 11 thatrefers to the operating frequency setting file 35 at predetermined timeintervals and performs arithmetic processing at the operating frequencyindicated by the operating frequency setting file 35. The informationprocessing apparatus 1 outputs the operating frequency setting file 35indicating the operating frequency set to the CPU 11. Therefore, theinformation processing apparatus 1 can easily set the operatingfrequency of the CPU 11.

Also, in order to optimize the operating frequency of the CPU 11, aninformation processing apparatus, to which the following technology isapplied, is also considered. That is, the information processingapparatus divides source codes of the application into a plurality ofareas, and pre-analyzes an efficient operating frequency, based oninformation collected by a performance counter during the execution ofeach divided area and an evaluation made by a model formula. Whenexecuting the application, such an information processing apparatus setsthe operating frequency of the CPU to the pre-analyzed operatingfrequency.

However, the technology of dividing such an application into a pluralityof areas and pre-analyzing an efficient operating frequency for eacharea has a problem that a plurality of efficient operating frequenciesfor applications are pre-analyzed using the same technique. Therefore,if an application is added, it takes a time to perform the analysis ofthe application.

Meanwhile, even though not pre-analyzing the application, theinformation processing apparatus 1 according to the first embodiment canoptimize the operating frequency of the CPU 11, without degrading theperformance of the application, by merely measuring the powerconsumption of the memory 13. As a result, the information processingapparatus 1 can easily reduce the power consumed by the CPU 11.

Also, even though not using the performance counter, the informationprocessing apparatus 1 can determine the operating frequency, which hasto be set to the CPU 11, by merely measuring the power consumed by thememory 13. Therefore, the information processing apparatus 1 can reducethe electric energy consumed by the CPU 11, without depending on thefunction of the OS 30.

Also, the information processing apparatus 1 changes the operatingfrequency of the CPU 11 according to the power consumption of the memory13 measured in real time, instead of the pre-analysis result. Therefore,the information processing apparatus 1 can set an appropriate operatingfrequency to the CPU 11 in real time according to the contents of theprocessing with respect to the running application.

[b] Second Embodiment

Although the embodiments have been described so far, the embodiments maybe implemented in various different forms in addition to theabove-described embodiments. Therefore, another embodiment included inthe present invention as the following second embodiment will bedescribed.

(1) Regarding Setting of Operating Frequency

The information processing apparatus 1 sets the operating frequency ofthe CPU 11 by determining an operating frequency optimal to the OS 30and outputting the operating frequency setting file 35 indicating thedetermined operating frequency. However, the embodiment is not limitedthereto. Another aspect of the information processing apparatusaccording to the present application will be described with reference toFIG. 9.

FIG. 9 is a diagram illustrating an example of the informationprocessing apparatus according to the second embodiment. In the exampleillustrated in FIG. 9, an information processing apparatus 40 includes ahardware 50, a BIOS 60, and an OS 70. The hardware 50 includes the CPU11, the power supply 12, the memory 13, the resistor 14, the powermeasuring unit 15, and a timer 16. Also, the BIOS 60 includes a SMI(System Management Interrupt) interrupt handler 61. Moreover, the SMIinterrupt handler 61 includes the operating frequency table 32, thedetermining unit 33, and a setting unit 34 a.

Also, since the power supply 12, the memory 13, the resistor 14, and thepower measuring unit 15 exhibit the similar functions to those of thefirst embodiment, the description thereof will not be repeated. Inaddition, since the operating frequency table 32 and the determiningunit 33 exhibit the similar functions to those of the first embodiment,the description thereof will not be repeated.

As with the first embodiment, the CPU 11 is an arithmetic processingapparatus that performs arithmetic processing by using informationstored in the memory 13. In more detail, the CPU 11 includes a register11 a that can set and refer to the operating frequency of the CPU 11,and a core 11 b that performs the arithmetic processing.

The register 11 a stores information indicating the frequency at whichthe core 11 b performs the arithmetic processing, that is, the operatingfrequency of the CPU 11.

Also, if the core 11 b receives the SMI interrupt from the timer 16,which will be described below, the core 11 b changes to a mode called aSMM (System Management Mode) and executes the SMI interrupt handler 61included in the BIOS 60. Also, the core 11 b refers to the informationindicating the operating frequency, which is stored in the register 11a, and performs the processing at the operating frequency indicated bythe referred information.

The timer 16 issues the SMI interrupt to the CPU 11 at predeterminedtime intervals. Also, in the case where the setting unit 34 a receivesthe information indicating the operating frequency from the determiningunit 33, the setting unit 34 a rewrites the information indicating theoperating frequency, which is stored in the register 11 a, toinformation newly received from the determining unit 33.

As described above, the information processing apparatus 40 includes theSMI interrupt handler 61 that sets the operating frequency of the CPU11. The information processing apparatus 40 sets an optimal operatingfrequency through the SMI interrupt handler 61 by issuing the SMIinterrupt at predetermined time intervals. Also, the informationprocessing apparatus 40 changes the operating frequency of the CPU 11 bystoring the information indicating the operating frequency in theregister 11 a included in the CPU 11. Therefore, the informationprocessing apparatus 40 can set the operating frequency of the CPU 11,regardless of the types of the running OS 70.

Also, the information processing apparatus 40 sets the operatingfrequency of the CPU 11 by using the SMI interrupt handler 61 includedin the BIOS 60. Therefore, the information processing apparatus 40 canquickly perform the processing of setting the operating frequency of theCPU 11.

(2) Regarding Set Operating Frequency

The information stored in the operating frequency table 32 illustratedin FIG. 4 is merely exemplary, and different values may be stored withrespect to the power consumption ranges of the memory 13 and theoperating frequencies. That is, the information processing apparatuses1, 40 lower the operating frequency of the CPU 11 if the powerconsumption of the memory 13 is increased, and increases the operatingfrequency of the CPU 11 if the power consumption of the memory 13 isreduced. Thus, the information processing apparatuses 1, 40 can reducethe electric energy consumed by the CPU 11, without degrading theperformance of the application.

(3) Regarding Operating Frequency Table

The above-described information processing apparatuses 1, 40 set theoperating frequency of the CPU 11 according to the operating frequencytable 32. However, the embodiment is not limited thereto. For example,the information processing apparatuses 1, 40 may calculate the operatingfrequency that has to be set to the CPU 11 in each case, based on thepower consumption of the memory 13, and may set the calculated operatingfrequency to the CPU 11.

Also, each program exemplified in the above-described embodiment ismerely exemplary, and the values of the operating frequency table 32 maybe set according to the execution results of other programs. Also,although the operating frequency table 32 stores three sets of the powerconsumption ranges of the memory 13 and the operating frequencies, theembodiment is not limited thereto. The operating frequency table 32 maystore arbitrary sets of the power consumption ranges of the memory 13and the operating frequencies.

Also, the function of the CPU frequency controlling unit 31 and thefunction of the SMI interrupt handler 61, which has been described inthe embodiments, can be implemented by executing a previously preparedprogram on a computer such as a personal computer or a workstation. Theprogram may be distributed over a network such as Internet. Also, theprogram is recorded on a computer-readable recording medium, such as aHard Disc, a FD (Flexible Disc), a CD-ROM (Compact Disc Read OnlyMemory), a MO (Magneto Optical Disc), or DVD (Digital Versatile Disc).Also, the program can be executed by being read out from the recordingmedium by the computer.

According to an aspect, a reduction in power consumption of the CPU canbe achieved during application execution.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the inventionand the concepts contributed by the inventor to furthering the art, andare to be construed as being without limitation to such specificallyrecited examples and conditions, nor does the organization of suchexamples in the specification relate to a showing of the superiority andinferiority of the invention. Although the embodiments of the presentinvention have been described in detail, it should be understood thatthe various changes, substitutions, and alterations could be made heretowithout departing from the spirit and scope of the invention.

What is claimed is:
 1. An information processing apparatus comprising: amemory; and a processor coupled to the memory, wherein the processorexecutes a process comprising: storing a setting information ofoperating frequencies of the arithmetic processing device in associationwith power consumption ranges of the memory; storing the settinginformation in which an operating frequency at which electric energyconsumed by the arithmetic processing device is minimized during theexecution of a predetermined application is associated with the powerconsumption of the memory when the corresponding application is executedby the arithmetic processing device; measuring power consumption of thememory during the execution of a predetermined application; determiningan operating frequency of the arithmetic processing device correspondingto the power consumption measured at the measuring from the settinginformation for executing the predetermined application; and setting theoperating frequency of the arithmetic processing device to the operatingfrequency determined at the determining.
 2. The information processingapparatus according to claim 1, wherein the changing changes theoperating frequency of the arithmetic processing device to a value lowerthan a predetermined frequency when the power consumption measured atthe measuring is larger than a predetermined threshold value, and thesetting sets the operating frequency of the arithmetic processing deviceto a value higher than the predetermined frequency when the powerconsumption measured at the measuring is smaller than the predeterminedthreshold value.
 3. The information processing apparatus according toclaim 1, wherein the processor executes the process further comprising:calculating an average value of the power consumption measured at themeasuring from the setting of the operating frequency of the arithmeticprocessing device to an elapse of a predetermined time; and changing anew operating frequency of the arithmetic processing device according tothe calculated average value of the power consumption.
 4. Theinformation processing apparatus according to claim 1, wherein theprocessor executes the process further comprising: outputting a valueindicating the operating frequency of the arithmetic processing device;referring to the value indicating the operating frequency at theoutputting; and operating at an operating frequency indicated by thevalue indicating the operating frequency referred at referring.
 5. Theinformation processing apparatus according to claim 1, wherein theprocessor executes the process further comprising: storing a valueindicating the operating frequency of the arithmetic processing devicein a register included in the arithmetic processing device; and changingthe operating frequency of the arithmetic processing device by updatingthe value stored in the register.
 6. A method for controlling aninformation processing apparatus which includes an arithmetic processingdevice and a memory, the method comprising: storing a settinginformation of operating frequencies of the arithmetic processing devicein association with power consumption ranges of the memory; storing thesetting information in which operating frequency at which electricenergy consumed by the arithmetic processing device is minimized duringthe execution of a predetermined application is associated with thepower consumption of the memory when the corresponding application isexecuted by the arithmetic processing device; measuring a powerconsumption of the memory during the execution of a predeterminedapplication; determining an operating frequency of the arithmeticprocessing device corresponding to the power consumption measured at themeasuring from the setting information for executing the predeterminedapplication; and changing the operating frequency of the arithmeticprocessing device to the operating frequency determined at thedetermining.
 7. A non-transitory computer-readable storage mediumstoring therein a controlling program, the control program causing acomputer, which includes an arithmetic processing device and a memory,to execute a process comprising: storing a setting information ofoperating frequencies of the arithmetic processing device in associationwith power consumption ranges of the memory; storing the settinginformation in which an operating frequency at which electric energyconsumed by the arithmetic processing device is minimized during theexecution of a predetermined application is associated with the powerconsumption of the memory when the corresponding application is executedby the arithmetic processing device; measuring a power consumption ofthe memory during the execution of a predetermined application;determining an operating frequency of the arithmetic processing devicecorresponding to the power consumption measured at the measuring fromthe setting information for executing the predetermined application; andchanging the operating frequency of the arithmetic processing device tothe operating frequency determined at the determining.